package com.yueqian.system.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yueqian.framework.entity.VerifyCodeEntity;
import com.yueqian.system.entity.User;
import com.yueqian.system.vo.req.UserReqVO;
import com.yueqian.system.vo.res.UserInfoResVO;
import com.yueqian.system.vo.res.UserResVO;

public interface SystemUserService extends IService<User> {

	UserResVO getDetail(Long id);

	User findByUserName(String username) throws Exception;

	Boolean register(String username, String password) throws Exception;

	String login(UserReqVO reqVO) throws Exception;

	UserInfoResVO getInfo(String token);

	String logout(String token);

	IPage<UserResVO> selectPageData(UserReqVO reqVO);

	void editStatus(UserReqVO reqVO);

	Boolean delete(List<Long> ids);

	void restPassword(UserReqVO reqVO);

	Long add(UserReqVO reqVO);

	VerifyCodeEntity generateVerifyCode();
}
